home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Speccy ClassiX 1998
/
Speccy ClassiX 98.iso
/
amiga_system
/
the_aminet
/
dev
/
amos
/
amosprog.lha
/
PowerPack-Pro.AMOS
/
PowerPack-Pro.amosSourceCode
Wrap
AMOS Source Code
|
1995-10-02
|
1KB
|
67 lines
'COMPRESS ABK BANK !!!
'(c) Marcin Szumiela 1994
Do
A$=Fsel$('','','Open Abk Bank')
Open In 1,A$
Reserve As Work 10,Lof(1)
Bload A$,Start(10)
Close 1
PLIK$=A$
KOMPRES[10,PLIK$,4,0]
Loop
Procedure KOMPRES[BANK,PLIK$,EFFICIENCY,SPEEDUP]
Reserve As Work 100,Length(BANK)
Copy Start(BANK),Start(BANK)+Length(BANK) To Start(100)
Lib Open 1,'powerpacker.library',0
Dreg(0)=EFFICIENCY
Dreg(1)=SPEEDUP
Areg(0)=0
Areg(1)=Start(100)
CRUNCHINFO=Lib Call(1,-$60)
Areg(0)=CRUNCHINFO
Areg(1)=Start(100)
Dreg(0)=Length(100)
CRUNCHEDLEN=Lib Call(1,-$6C)
Dreg(1)=Varptr(PLIK$)
Dreg(2)=1006
FILEHANDLE=Doscall(-30)
Dreg(0)=FILEHANDLE
Dreg(1)=EFFICIENCY
Dreg(2)=0
Dreg(3)=0
SUCCESS=Lib Call(1,-$72)
Dreg(1)=FILEHANDLE
Dreg(2)=Start(100)
Dreg(3)=CRUNCHEDLEN
X=Doscall(-48)
Dreg(1)=FILEHANDLE
Y=Doscall(-36)
Areg(0)=CRUNCHINFO
Z=Lib Call(1,-$66)
Lib Close 1
Erase All
Open In 1,PLIK$
Reserve As Work 10,Lof(1)
Bload PLIK$,Start(10)
Close 1
Poke$ Start(10),'ART4'
Bsave PLIK$,Start(10) To Start(10)+Length(10)
Erase All
End Proc